# Python file will add two { } at the start and end and remove  lines
# if __name__ == '__main__':
#    print Attributes

# This is the template for .tdd file. Make changes in this file.
# A changed version of it converted to .tdd format and input to fmpp in tdd/src/data directory

#Author in the copyright notice
Author="Raman Rawat"
Month="Feb"
Year="2012"
Context="Part"
#Workspace"name"
Workspace="RAMForayWS"
#Framework string" Frameworls created will be TriaGram + Framework + (Interfaces, Fw, UIFw)
# e.g for Framework="MechMod", CAAMechModInterfaces, CAAMechModFw, CAAMechModUIFw 
AppName="GeoPrep"
Framework="GeoPrep"
#All files/dir will start from this Triagram
TriaGram="HAP"
SuperType="GSMGeom"
OutputBodyDimension=0
# File "name"s will be $Triagram-X-$Prefix - where X is I,E or ""
Prefix="Fiz"
#Late Type String -  In Catalog it will be $TriaGram + $Prefix + $LateType
LateType="SplitSurface"
Catalog= { "name":"GeoPrep", "ClientID":"Raman"}

# All attribues in the catalog will be prepended with $TriaGram + $Prefix
Attributes=[
{"name":"Point"			, "type":"tk_specobject"	, "facet":"sp_IN"		,  "data":[],  "IID":"IID_CATIMfZeroDimResult","UI":"List"},
{"name":"SupportSurface", "type":"tk_component" 	, "facet":"sp_IN"		,  "data":[],  "IID":"IID_CATIMfZeroDimResult","UI":"SelectorList"},
{"name":"Name"			, "type":"tk_string"		, "facet":"sp_NEUTRAL"	,  "data":["Default Text"],  "IID":"","UI":"Editor"},
{"name":"Distance"		, "type":"tk_param_length"	, "facet":"sp_NEUTRAL"	,  "data":[90,0,360,1],  "IID":"","UI":"Param"},
{"name":"Angle"			, "type":"tk_param_angle"	, "facet":"sp_NEUTRAL"	,  "data":[90,0,360,1],  "IID":"","UI":"Param"},
{"name":"NumPOints"		, "type":"tk_param_real"	, "facet":"sp_NEUTRAL"	,  "data":[90,0,360,1],  "IID":"","UI":"Param"},
{"name":"Tolerance"		, "type":"tk_double"		, "facet":"sp_NEUTRAL"	,  "data":[90,0,360,1],  "IID":"","UI":"Param"},
{"name":"Count"			, "type":"tk_integer"		, "facet":"sp_NEUTRAL"	,  "data":[90,0,360,1],  "IID":"", "UI":"Param"},
{"name":"Active"		, "type":"tk_boolean"		, "facet":"sp_NEUTRAL"	,  "data":[1],  "IID":"", "UI":"CheckButton"},
{"name":"Points"		, "type":"tklist_specobject", "facet":"sp_IN"		,  "data":["Name", "Type"],  "IID":"IID_CATIMfZeroDimResult", "UI":"PolyList"},
{"name":"RefSurfaces"	, "type":"tklist_component", "facet":"sp_NEUTRAL"	,  "data":["Name", "Type"],  "IID":"IID_CATIMfZeroDimResult", "UI":"PolyList"},
{"name":"Names"			, "type":"tklist_string"	, "facet":"sp_IN"		,  "data":["Name", "Type"],  "IID":"", "UI":"MultiList"},
{"name":"Tolerances"	, "type":"tklist_double"	, "facet":"sp_NEUTRAL"	,  "data":["One", "Two", "Three", "Four"],  "IID":"", "UI":"Combo"},
{"name":"Counts"		, "type":"tklist_integer"	, "facet":"sp_NEUTRAL"	,  "data":[1],  "IID":"", "UI":"RadioButton"},
{"name":"SaveFile"		, "type":""	, "facet":"sp_NEUTRAL"	,  "data":[1],  "IID":"", "UI":"PushButton"},
]                                                                                          

#Interfaces to implement. All interfaces have CATPrepended to them
# Implementation of CATIMechanicalProperties will produce file "name" = TriaGram + "E" + Prefix + LateType + Interfaces.postFix
Interfaces=[
	{"name":"IMechanicalProperties", "req":"y", "postFix":"MechProp" , "baseClass":"", "dir":"PublicInterfaces"},
	{"name":"I3DBehaviour"		,  "req":"y", "postFix":"3DBehav" ,"baseClass":"", "dir":"PublicInterfaces"},
	{"name":"IBuild				", "req":"y","postFix":"Build" ,"baseClass":"", "dir":"LocalInterfaces"},
	{"name":"ICCPable			", "req":"y","postFix":"CCPable" ,"baseClass":"", "dir":"LocalInterfaces"},
	{"name":"IMechanicalCCP"	 , "req":"y","postFix":"MechCCP" ,"baseClass":"", "dir":"LocalInterfaces"},
	{"name":"IReplace 			", "req":"y","postFix":"Replace" ,"baseClass":"CATSpecReplaceExt", "dir":"LocalInterfaces"},
	{"name":"IAttrBehavior 		", "req":"y","postFix":"AttrBehav" ,"baseClass":"", "dir":"LocalInterfaces"},
	{"name":"IInputDescription 	", "req":"y","postFix":"InputDesc" ,"baseClass":"", "dir":"LocalInterfaces"},
	{"name":"INavigateObject	", "req":"y","postFix":"NavigateObject" ,"baseClass":"", "dir":"LocalInterfaces"},
	{"name":"IEdit				", "req":"y","postFix":"Edit", "baseClass":"CATExtIEdit", "dir":"LocalInterfaces"},
	{"name":"IIcon				", "req":"y","postFix":"Icon", "baseClass":"", "dir":"LocalInterfaces"},
	{"name":"IContextualSubMenu	", "req":"y","postFix":"CtxSubMenu", "baseClass":"", "dir":"LocalInterfaces"},
	{"name":"IContextualMenu 	", "req":"y","postFix":"CtxMenu", "baseClass":"CATExtIContextualMenu ", "dir":"LocalInterfaces"},
]

#don't change the following lines
#[[[cog
#UuidCPP:"UuidValue"
#UuidIID:"UuidIIDValue"
#UuidFactoryCPP:"UuidFactoryValue"
#UuidFactoryIID:"UuidFactoryIIDValue"
#UuidIDL:"UuidIDLValue"
#UuidIDLFactory:"UuidIDLFactoryValue"
#UuidTypeLib:"UuidTypeLibValue"
#########

# import cog
# import CAAUuidGen

# fnames = ['Uuid', 'UuidFactory', 'UuidIDL', 'UuidIDLFactory', 'UuidTypeLib']
# for fn in fnames:
	# caauid = CAAUuidGen.CAAUuid(fn)    
	# newStr = caauid.GetTransformed()
	# newStr = "\"" + newStr + "\""	
	# cog.outl( fn + "CPP=\"" + caauid.strUid + "\"" )
	# cog.outl( fn + "IID=" + newStr)
	# print Attributes
#]]]
#[[[end]]]
